home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / utility2 / wine02bx.zip / LISP / PACKAGES / WAIS.ELC < prev    next >
Text File  |  1993-03-28  |  48KB  |  229 lines

  1. ;;; compiled by jwz@thalidomide on Wed Nov 11 19:25:50 1992
  2. ;;; from file /u/jwz/emacs19/lisp/packages/wais.el
  3. ;;; emacs version 19.3.4 Lucid.
  4. ;;; bytecomp version 2.08; 27-aug-92.
  5. ;;; optimization is on.
  6. ;;; this file uses opcodes which do not exist in Emacs18.
  7.  
  8. (if (and (boundp 'emacs-version)
  9.      (or (and (boundp 'epoch::version) epoch::version)
  10.          (string-lessp emacs-version "19")))
  11.     (error "This file was compiled for Emacs19."))
  12.  
  13. (byte-code "└┴!ê┬├!¼é─└ç" [provide wais boundp *wais-top-directory* "/cadillac-th2/wais/wais-8-b5/"] 2)
  14. (defvar waisq-program (concat *wais-top-directory* "bin/waisq") "\
  15. Location of the waisq executable. 
  16.    This comes in the bin directory of the wais release")
  17. (defvar waisindex-program (concat *wais-top-directory* "bin/waisindex") "\
  18. Location of the waisindex executable. 
  19.    This comes in the bin directory of the wais release")
  20. (defvar *common-source-directory* (concat *wais-top-directory* "wais-sources/") "\
  21. Where the common sources for you site live.  nil if there are none")
  22. (defvar *wais-maximum-result-documents* 40 "\
  23. Maximum number of results to return for a question.  If you change this,
  24. be sure to kill the wais-receiving buffer.")
  25. (defvar *wais-question-directory* "~/wais-questions/" "\
  26. User's question directory")
  27. (defvar *wais-source-directory* "~/wais-sources/" "\
  28. User's source directory")
  29. (defvar *wais-document-directory* "~/wais-documents/" "\
  30. User's document directory")
  31. (byte-code "└┴!¼é┬└├!¼é──ç" [boundp wais-version 8 *debug* nil] 2)
  32. (defvar *waisq-truncate-mode* t "\
  33. switch to set truncate mode in waisq buffers.  Set to nil for line wrap")
  34. (defvar *wais-document-display-size* 4 "\
  35. Number of lines of document headers to display when text is shown")
  36. (defvar *wais-multiple-document-buffers* t "\
  37. If set to nil, use one buffer for all retrieved documents.
  38. A retrieval request will be issued each time a document is
  39. selected for editing.
  40. Otherwise, use Multiple buffers for retrieving Documents.
  41. Retrieval requests are made only once, and the buffer is reused.")
  42. (defvar *wais-document-buffer* "Wais DOC" "\
  43. Name of buffer when *wais-multiple-document-buffers* is nil")
  44. (defvar *x-viewers* (byte-code "└    ┬PD├    ─PD┼    ╞PDEç" ["GIF" *wais-top-directory* "bin/wais-gif-display" "TIFF" "bin/wais-tiff-display" "PICT" "bin/wais-pict-display"] 5) "\
  45. Alist of Programs to use to view under X
  46. format: ((type viewer) (type viewer) ...)")
  47. (defvar *wais-show-size* t "\
  48. Show size of document in results window")
  49. (defvar *wais-show-date* t "\
  50. Show date of document in results window")
  51. (fset 'current-line #[nil "î~êè└yê┴┬`\"T*ç" [0 count-lines 1] 3 "\
  52. return the current line number (in the buffer) of point."])
  53. (defconst *wais-client-machine* nil "\
  54. if set, this machine will be used to run *wais-binary-pathname* 
  55.    (using rsh)")
  56. (defvar *wais-process* nil "\
  57. the variable that holds the wais process struct")
  58. (byte-code "└┴!¼é┬├─Mç" [boundp *wais-receiving-buffer* "wais-receiving-buffer" shell-command-fast #[(string) "└┴!è\nqê├ ê)─╞\n╞╟╚    &)ç" [get-buffer-create "*Shell Command Output*" buf erase-buffer call-process shell-file-name nil "-f" "-c" string] 8]] 2)
  59. (fset 'wais-toggle-multiple-buffers #[nil "?┴½â┬¬ü├!ç" [*wais-multiple-document-buffers* message "Using multiple Document buffers" "Using single Document buffer"] 2 "\
  60. Switch between multiple WAIS DOC buffers and one WAIS DOC buffer" nil])
  61. (fset 'wais-find-process #[nil "½ê┴!┬=ä¢├─!ê┼!½à╟!ê╚    \n½╗╦╠═\n╧╨╤╥\"½â╒¬ü╓½å╫!¬ü╓½â┘¬ü╓½å╫!¬ü╓& ¬╢╦╠╧╨╤╥\"½â╒¬ü╓½å╫!¬ü╓½â┘¬ü╓½å╫!¬ü╓&\n)┌!ê█▄!êpqê▐ êqê)ç" [*wais-process* process-status run message "Starting new wais process..." get-buffer *wais-receiving-buffer* kill-buffer nil process-connection-type *wais-client-machine* start-process "WAIS" "rsh" waisq-program "-" "-m" format "%d" *wais-maximum-result-documents* *common-source-directory* "-c" "" expand-file-name *wais-source-directory* "-s" process-kill-without-query sit-for 3 b emacs-lisp-mode] 14 "\
  62. Check status of 'wais' process and start if necessary."])
  63. (byte-code "└┴!¼é┬    ¼É├ !┼    ╞╟#ê┼    ╚╔#ê┬ç" [boundp waisk-mode-map nil copy-keymap text-mode-map define-key "" wais-query "k" wais-kill-buffer] 4)
  64. (fset 'waisk-mode #[nil "└ ê┴├┼!ê╟!ê╔╩!ç" [kill-all-local-variables waisk-mode major-mode "WaisK" mode-name use-local-map waisk-mode-map set-syntax-table text-mode-syntax-table run-hooks waisk-mode-hook] 2 "\
  65. Major mode for editting words for the question.
  66.  
  67. All the usual text-mode cursor movement works, except
  68.  
  69. RET     Go for it (answer the Question).
  70.  
  71. Entering this mode calls value of hook variable waisk-mode-hook." nil])
  72. (byte-code "└┴!¼é┬└├!¼é┬ ¼┤─!╞ ╟╚#ê╞ ╔╚#ê╞ ╩╦#ê╞ ╠═#ê╞ ╬╧#ê╞ ╨╤#ê╞ ╥╙#ê╞ ╘╒#ê└╓!¼â╫┬ç" [boundp wais-document nil waisd-mode-map copy-keymap text-mode-map define-key "?" waisd-help "h" "B" waisd-best-line "s" wais-add-section "" wais-query " " scroll-up "" scroll-down "q" waisd-exit *waisd-mode-string* "Major mode in effect in a wais document buffer.\n\n   Movement commands:\n\n   All the usual text-mode cursor movement work.\n   In addition the following commands are available:\n\n   B       Go to the best line in the document\n   space   Scroll document forward.\n   delete  Scroll document backward.\n\n   Action Commands:\n\n   s       Add the marked region as a section to the Relevant Documents.\n   ? or h  Show this message (Help).\n   q       quit reading this document.  bury this buffer, and the Question\n           buffer associated with it.\n\n   When you retrieve a source you will see the source description form in\n   the document buffer.  To save this for use in subsequent searches,\n   simply use the \"S\" command in the results window, or the standard\n   Emacs save-file function (control-x control-s, or M-x save-file).  If\n   you use the save-file function, be sure to add the .src suffix so the\n   interface will recognize this as a source.  The \"S\" function will add\n   the suffix for you.\n\nEntering this mode calls value of hook variable waisd-mode-hook."] 4)
  73. (fset 'waisd-mode #[nil "└ ê┴┬!ê┴├!ê┴─!ê┴┼!ê┴╞!ê╟╚    ╩ ╠!ê╬!ê╨╤!ç" [kill-all-local-variables make-variable-buffer-local wais-document current-question current-question-filename question-name wais-best-line t waisd-mode major-mode "Wais DOC" mode-name use-local-map waisd-mode-map set-syntax-table text-mode-syntax-table run-hooks waisd-mode-hook] 2 "\
  74. Major mode for WAIS documents.  Use M-x waisd-help for more information." nil])
  75. (byte-code "└┴!¼é┬├─Mê    ¼å┼ ├ ê└╞!¼â╟┬ç" [boundp waisq-mode-map nil init-waisq-mode-map #[nil "└    !ê┬    ├─#ê┬    ┼╞#ê┬    ╟╚#ê┬    ╔╩#ê┬    ╦╠#ê┬    ═╬#ê┬    ╧╨#ê┬    ╤╥#ê┬    ╙╘#ê┬    ╒╓#ê┬    ╫╪#ê┬    ┘╪#ê┬    ┌╪#ê┬    █▄#ê┬    ▌▐#ê┬    ▀α#ê┬    ßα#ê┬    Γα#ê┬    πΣ#ê┬    σΣ#ê┬    µτ#ê┬    ΦΘ#ê┬    ΩΘ#ê┬    δ∞#ê┬    φε#ê┬    ∩≡#ê┬    ±≥#ê┬    ≤⌠#ê┬    ⌡÷#ê┬    ≈°#ê┬    ∙·#ç" [suppress-keymap waisq-mode-map define-key "n" wais-edit-next-msg "p" wais-edit-previous-msg "" wais-next-msg "" wais-previous-msg "+" wais-edit-next-resdoc "-" wais-edit-previous-resdoc "a" wais-add-reldoc "d" wais-delete-reldocs "A" wais-add-source "D" wais-delete-sources "g" wais-query "G" "" "q" wais-exit "Q" wais-quit "e" wais-edit "f" "v" "h" wais-help "?" "N" wais-create-question "k" wais-goto-keywords "K" " " wais-scroll-msg-up "" wais-scroll-msg-down "s" wais-select-question "S" wais-save-document "m" wais-toggle-multiple-buffers "B" waisq-best-line " " wais-redisplay "k" wais-kill-buffer] 4] make-keymap *waisq-mode-string* "Major mode in effect in a wais question buffer.\n\n   Movement commands:\n\n   C-n     Move to next document, or arg documents.\n   C-p     Move to previous document, or arg documents.\n   e,f,v   Edit, Find or View the current document (all are synonymous).\n   n       Edit to next document, or arg documents.\n   p       Edit to previous document, or arg documents.\n   space   Scroll document in other window forward.\n   delete  Scroll document backward.\n   B       Go to the best line in the document\n   C-l     Refresh Display and reset Question Window.\n\n   Sources:\n\n   A       Add a source to the question.\n   D       Delete all sources from the question.\n\n   Relevance Feedback:\n\n   a       Add the current document to the question.\n   d       Delete all relevant documents from the question.\n\n   Action Commands:\n\n   k       Replace the 'Find documents on' words\n   G,RET   Go for it (submit the query).\n   N       Make a new question.\n   m       Toggle multiple document buffer mode. \n   s       Select another question.\n   S       Save this document to a file.\n   ? or h  Show this message (Help).\n   q       quit WaisQ, but keep the question's buffer.\n   Q       Quit WaisQ and kill this question's buffer.\n\n   New users should try M-x wais-novice.\n\n   Entering this mode calls value of hook variable waisq-mode-hook.\n\n   Some notes on retrieving and saving sources (from the directory of servers,\n   or from the help query):\n\n   When you retrieve a source you will see the source description form in\n   the document buffer.  To save this for use in subsequent searches,\n   simply use the \"S\" command in the results window, or the standard\n   Emacs save-file function (control-x control-s, or M-x save-file).  If\n   you use the save-file function, be sure to add the .src suffix so the\n   interface will recognize this as a source.  The \"S\" function will add\n   the suffix for you.\n"] 2)
  76. (fset 'wais-help #[nil "└┴!¡ü    ë½ö├ ê ½è┼╞╟p!\"ê╔╩!ê╦╠═!!ê╬ ê\n¼â╧cêcê╤╥!ê╙cê╤╥!ê╘½â╓¬ü╫▒êebê\n¡â╔╪!)ç" [boundp question-name waisqp wais-redisplay-internal wais-split nil split-window get-buffer-window *wais-document-display-size* other-window 1 switch-to-buffer get-buffer-create "*Help*" erase-buffer "                            Gnu Emacs WAIS.\n\nUse M-x wais, M-x wais-select-question or M-x wais-create-question \nto get into WaisQ mode.\n\n" *waisq-mode-string* newline 2 "  Configuration variables:" "  Using multiple Document buffers: " *wais-multiple-document-buffers* "Yes." "No." -1] 4 "\
  77. Display the special commands available in WaisQ mode" nil])
  78. (fset 'waisd-help #[nil "└┴┬!!ê├ ê cê┼╞!ê╟cê┼╞!ê╚    ½â╩¬ü╦▒êebê╠ ç" [switch-to-buffer get-buffer-create "*Help*" erase-buffer *waisd-mode-string* newline 2 "  Configuration variables:" "  Using multiple Document buffers: " *wais-multiple-document-buffers* "Yes." "No." waisd-mode] 3 "\
  79. Display the special commands available in WaisQ mode" nil])
  80. (fset 'waisq-mode #[nil "└ ½ë┴┬├─#ê┼ ç╞╚    \n╦=½ç╠!ê¬à╠!ê╧╩!ê╧╨!ê╧╤!ê╧╥!ê╧╙!ê╧╘!ê╒╒┘█!ê▌▐!ç" [check-init-directories wais-create-question "Quick" "?" "directory-of-servers.src" wais-query waisq-mode major-mode "WaisQ" mode-name wais-buffer-type keys use-local-map waisk-mode-map waisq-mode-map make-variable-buffer-local question-name current-question-filename current-question headlines wais-split t *waisq-truncate-mode* truncate-lines buffer-read-only 5 tab-width set-syntax-table emacs-lisp-mode-syntax-table run-hooks waisq-mode-hook] 4 "\
  81. Major mode for editting WAIS questions.  Use M-x wais-help to see more" nil])
  82. (byte-code "└┴Mê┬├Mê─┼Mê╞╟Mç" [load-question #[(file) "└    \nP!─ \n\")ç" [expand-file-name *wais-question-directory* file filename load-question-internal] 3] quiet-replace-string #[(from-string to-string) "└    ┬├#¡ê─├ë#ê¬qç" [search-forward from-string nil t replace-match to-string] 4] load-question-internal #[(filename name) "└    !ê┬ êebêè├─┼\"ê)è├╞┼\"ê)è├╟╚\"ê)è├╔╚\"ê)è├╩╚\"ê)è├╦╚\"ê)è├╠═\"ê)è├╬╚\"ê)è├╧╚\"ê)è├╨═\"ê)╤p!╙╘!ê╒p!ê)ç" [find-file filename emacs-lisp-mode quiet-replace-string "#s(" "(" "#(" "d003" "" "d004" "(" ")" "\"" "\"" "" "" "\n\"" read result set-buffer-modified-p nil kill-buffer] 3] dateof #[(date) "G┴U½▓┬├─\"ë╞╟HIê╚╔HIê╔╩HIê╩╦HIê┴╞HIê╠╚HIê)ç═ç" [date 6 make-string 8 47 result 0 2 1 3 4 5 7 ""] 5]] 2)
  83. (fset 'any-from-anystring #[(anystring) "Gë├├\nY¼ô H┼U½à ╞Iê ╟\\ë¬i+╚!ç" [anystring l T$$_34 0 i 35 32 1 read] 4 "\
  84. return an elisp any from a string that contains an any"])
  85. (fset 'anystring-to-string #[(anystring) "└┴\n!!ç" [any-to-string any-from-anystring anystring] 3 "\
  86. creates a regular old string from an anystring"])
  87. (fset 'any-to-string #[(any) "└┴\n¥!└─\n¥!╞ ╟\"╟    ╩╦\"ê,ç" [second :size any size :bytes bytes make-string 0 result i mapcar #[(el) "    \nIê    ├\\ëç" [result i el 1] 3]] 3 "\
  88. create a string from an elisp ANY"])
  89. (fset 'string-to-any #[(string) "G┴ë┼┼ Y¼ÉH\nB╟\\ë¬l*╚╔ ╩╦\n!»*ç" [string nil bytes l T$$_35 0 i 1 :any :size :bytes reverse] 7 "\
  90. create an elisp any from a STRING"])
  91. (fset 'print-any #[(any) "└┴\n¥!└─\n¥!╞╟ \"╔╩\"ê╦P+ç" [second :size any size :bytes bytes format "(:any :size %d :bytes #( " result mapcar #[(el) "┴┬ \"Pëç" [result format "%d " el] 4] ") )"] 3 "\
  92. Returns a string which is the printed representation of an any"])
  93. (byte-code "└┴Mê┬├Mê─┼Mê╞╟Mê╚╔Mê╩╦Mê╠═Mê╬╧Mê╨╤Mê╥╙Mê╘╒Mê╓╫Mê╪┘Mê┌█Mê▄▌Mê▐▀MêαßMêΓπMç" [get-keys #[(question) "└┴\n¥!ç" [second :seed-words question] 3] get-reldocs #[(question) "└┴\n¥!ç" [second :relevant-documents question] 3] get-sources #[(question) "└┴\n¥!ç" [second :sources question] 3] get-resdocs #[(question) "└┴\n¥!ç" [second :result-documents question] 3] get-document #[(docid) "└┴\n¥!ç" [second :document docid] 3] get-score #[(docid) "└┴\n¥!ç" [second :score docid] 3] get-type #[(docid) "└┴\n¥!ç" [second :type docid] 3] get-headline #[(document) "└┴\n¥!ç" [second :headline document] 3] get-date #[(document) "└┴\n¥!ç" [second :date document] 3] get-size #[(document) "└┴\n¥!ç" [second :number-of-bytes document] 3] get-start #[(docid) "└┴└┬ ¥!¥!ç" [second :line-pos :start docid] 5] get-end #[(docid) "└┴└┬ ¥!¥!ç" [second :line-pos :end docid] 5] headlist #[(doclist) "└ë├─\"ê╞\n!*ç" [nil document result mapcar #[(docid) "└    !├    !─\n!┼\n!╞\n!FBëç" [get-document docid document get-score get-headline get-date get-size result] 5] doclist reverse] 3] rellist #[(doclist) "└ë├─\"ê╞\n!*ç" [nil document result mapcar #[(docid) "└    !├    !─    !┼└    !!╞\n!FBëç" [get-document docid document get-start get-end get-headline get-date result] 5] doclist reverse] 3] get-sourcename #[(source) "└┴\n¥!ç" [second :filename source] 3] sourcelist #[(sourcelist) "└┬├ \"ê┼    !)ç" [nil result mapcar #[(sid) "└    !\nBëç" [get-sourcename sid result] 2] sourcelist reverse] 3] find-wais-buffer #[(name type) "└    !ë¼Ä├    !─\n!ê╟ ê─\n!ê╟ ê\n)ç" [get-buffer name result get-buffer-create switch-to-buffer type wais-buffer-type waisq-mode] 3] wais-redisplay-internal #[nil "└┴!½ö    ½æ    ├\n!ê\n    =?¡â─\n!)ç┼╞!ç" [boundp question-name name setup-wais-display display-question error "Not a question buffer."] 2]] 2)
  94. (fset 'wais-redisplay #[nil "└ ê┴ ç" [wais-redisplay-internal recenter] 1 "\
  95. Rebuild the WAISQ display" nil])
  96. (byte-code "└┴Mê┬├Mê─┼Mê╞╟Mê╚╔Mê╩╦Mê╠═Mç" [setup-wais-display #[(name) "└    ┬P├\"┼ ê╞╟ !╚\"ê)╔\n╦ ═╬!ê╞╟└    ╧P╨\"!╚\"ê╤\n═╬!ê└    ╥P╙\"ê╘═╓!ê╫╪!ê═╬!ê└    ┘P┌\"ê█\n═╬!ç" [find-wais-buffer name ": Find Documents On" keys buff delete-other-windows split-window get-buffer-window 4 "-Find Documents On-----%p-%-" mode-line-format nil buffer-read-only other-window 1 ": On Sources" source (20 "-On Sources---%p-%-") ": Results" result t wais-split -1 split-window-horizontally 20 ": Similar To" relevant "--Similar To------%p-%-"] 5] set-buffer-variables #[(question name filename resheads) "\n     ╩╦!ç" [question current-question name question-name filename current-question-filename resheads headlines *wais-question-directory* default-directory set-buffer-modified-p nil] 2] display-question #[(name &optional file message) "½å┴\n\"¬â├\n!┼½â¬å╞\nP!\n $)ç" [file load-question-internal name load-question q display-question-internal expand-file-name *wais-question-directory* message] 5] insert-headline #[(line) "└┴\n!├ ½Ö┼\n!╞W½ê╟╚┼\n!\"¬ï╟╔┼\n!╞Ñ\"¬ü└\n½ö╦\n!╠ÿ½â═¬ï╬╧╦\n!!╨Q¬ü└░cê╤\n!ëG╘╫╫Y¼£Hëcê┘U½â┌cê█\\ë¬_-╘ç" ["" first line "    " *wais-show-size* fourth 1024 format "%d    " "%dK    " *wais-show-date* third "0" " No Date  " "(" dateof ") " second headline l nil c T$$_36 0 i 10 "                " 1] 9] display-question-internal #[(filename name q &optional message) "└    !┬├    !!─┼    !!╞╟    !!╚ëëë    \n  ╤!ê½à╙!ê╘╒P╨\" ╚╫ êcêebê╪    $ê╘┌P█\" ╚╫ ê▐▀!ê╪    $ê½Éαß\"\"πΣ\"\"ê)¬âσcêebêµ╘τPΦ\"\n╚╫ ê▐▀!ê╪    $ê½êπΘ\"ê¬âΩcêebêµ╘δP∞\"    ╚╫ ê▐▀!ê╪    $ê½îπφ\"êε▀!ê¬â∩cêebêµ    .ç" [get-keys q sourcelist get-sources rellist get-reldocs headlist get-resdocs nil resbuff relbuff sourcebuff keybuff resheads relheads sourcenames keys setup-wais-display name message find-wais-buffer ": Find Documents On" buffer-read-only erase-buffer set-buffer-variables filename ": On Sources" source *waisq-truncate-mode* truncate-lines auto-fill-mode -1 sort (lambda (a b) (string< a b)) sorted-sourcenames mapcar #[(line) "└    Pcê┬ ç" [" " line newline] 2] " No Sources" t ": Similar To" relevant #[(line) "└    !½ó┬├└    !─    !┼    !╞ÿ½â╟¬ê╚╔┼    !!╩Q╦    !%cê¬Ö╠┼    !╞ÿ½â╟¬ê╚╔┼    !!╩Q╦    !Qcê═ ç" [first line format " [%d,%d] %s%s" second fourth "0" "" "(" dateof ") " third " " newline] 8] " No documents" ": Results" result #[(line) "└    !ê┬ ç" [insert-headline line newline] 2] delete-char "No documents"] 8] wais-next-line #[nil "``T{└ÿ¡ë┴┬!ê├yê¬oç" ["    " next-line 1 0] 2] wais-prev-line #[nil "``T{└ÿ??¡ë┴┬!ê├yê¬mç" ["    " next-line -1 0] 2]] 2)
  97. (fset 'wais-next-msg #[(number) "¼é┴┬!½â┴¬ü├┼!╟╟Y¼Ü╔ !ê ╟V½à╩ ê¬â╦ ê┴\\ë¬a+╠ç" [number 1 plusp -1 direction abs T$$_37 0 i next-line wais-next-line wais-prev-line nil] 3 "\
  98. Move the cursor to the next (arg) Document" "p"])
  99. (fset 'wais-previous-msg #[(number) "└    ½â    ¬ü┬[!ç" [wais-next-msg number 1] 2 "\
  100. Move the cursor to the previous (arg) Document" "p"])
  101. (fset 'wais-edit #[(&optional n) "└┴!ç" [wais-edit-next-msg 0] 2 "\
  102. Retrieve the Current Document" "p"])
  103. (fset 'line-to-doc #[nil "è└yê`┴ebê` W½è─┴!ê\n┴\\¬q\n+ç" [0 1 result here wais-next-msg] 2])
  104. (fset 'wais-edit-next-msg #[(&optional n) "└    !ê┬ ─ \"ç" [wais-next-msg n edit-document current-question-filename line-to-doc] 3 "\
  105. Retrieve the next (arg) Document" "p"])
  106. (fset 'wais-edit-previous-msg #[(&optional n) "└    ½ä    [¬ü┬!ç" [wais-edit-next-msg n -1] 2 "\
  107. Retrieve the previous (arg) Document" "p"])
  108. (fset 'show-dialog #[(time &optional size message) "¼é┴┬ ├\\W½½è─!êeb꺽Žà╟!ê╚!¬ì╔½ä¬ü╩╦P!)ç╠ïç" [size 4 window-height 2 switch-to-buffer *wais-receiving-buffer* time message sit-for read-input "" " Press return to continue" ((byte-code "└┴p!┬  Z\"ê─┼!ê╞!êèeb꺽ɠ   ½à╔    !ê╩!ê¬Ä╦    ½ä    ¬ü╠═P!ê)╬p!ç" [split-window get-buffer-window window-height size other-window 1 switch-to-buffer *wais-receiving-buffer* time message sit-for read-input "" " Press return to continue" bury-buffer] 4))] 3])
  109. (fset 'wais-query #[(&optional stuff) "└ë┴┼!ê╟ ê└╔ ê╩╦╠!ê┬\n!ê╧ \n#┬╨!ê ½Üèqêebê╥╙!ê╠yê┬`└ê`{!)¬å╘ ╒#+ç" [nil "Asking the question..." message file result update-keywords question-name wais-redisplay-internal buffer-read-only erase-buffer t sit-for 0 current-question-filename name wais-query-internal "Asking the question...done." *wais-receiving-buffer* search-forward "Found" display-question "Incomplete Transaction.  Question Unmodified."] 4 "\
  110. Answer this Question" nil])
  111. (byte-code "└┴Mê┬├Mç" [update-keywords #[(name) "è└    ┬P├\"qê ¡à┼ed{!)ç" [find-wais-buffer name ": Find Documents On" keys current-question-filename wais-replace-keywords] 3] wais-query-internal #[(file name &optional message) "└┬ !ê─┼╞Åê    )ç" [nil result update-keywords name e (byte-code "└┬ !ê─ êebê┼╞└╟#½ïe╚uê`{╔P¬åed{╩P╦p!ê╠ !ê═ êqê╧ ê╨═     \"ê╤═ !ê╥!╘=¼å╒╓\"êebê╟┼╪└╟#ä⌡╤!êebêè┼┘è┼╪└╟#¡ü`)╟#)¼Æè┼┌è┼╪└╟#¡ü`)╟#)½ë└█╟▄▌#êè┼▐è┼╪└╟#¡ü`)╟#)½ë└█╟▄▀#êè┼αè┼╪└╟#¡ü`)╟#)½å█╟▄ß#êè┼Γè┼╪└╟#¡ü`)╟#)½ë└█╟▄π#ê╥!╘=¼å╒╓\"êebêéV½▐┼Σ└╟#¼è╤!êebê¬oebêσ&┼&!ê`&GZΣ'┼'!ê'G[uê`){┬ !ê╧ ê    cê└(ΘΩ!ê)╦p!êδ∞ \" ╠ !êφ.  #ê))└ç" [nil command-string find-file file emacs-lisp-mode search-forward ":result-documents" t -17 ")" "\n" kill-buffer message wais-find-process *wais-receiving-buffer* erase-buffer process-send-string accept-process-output process-status *wais-process* run error "WAIS process died. Look in buffer %s for clues." result " (:question" "Bad Connection" "Connection refused" show-dialog 4 "Looks like a bad connection." "This Question has no sources" "No Source.  Press 'A' to add one. " "Code:" "Diagnostic Error" "Couldn't find source" "Looks like a bad source spec." "Waisq: Ready for next question." "(:question" match end require-final-newline save-buffer 0 format "%sdone." display-question name] 6) ((error (show-dialog t 6 "Something wrong with query")) (quit (byte-code "└    \n\"ê├─!ê¼à╞!ê└ç" [display-question name file message "Abort Query!" *debug* kill-buffer *wais-receiving-buffer*] 3)))] 3]] 2)
  112. (fset 'get-source-filename #[(file) "¼ä┴┬!G─┼O╞ÿ½â¬â╞P)ç" [file read-file-name "Source file name: " len -4 nil ".src"] 3 "\
  113. Get source file name, adding .src if necessary" "FSource file name: "])
  114. (fset 'wais-save-document #[(&rest foo) "└ ê┴┬├Åç" [wais-edit foo (byte-code "└┴!ê\n ÿ½ê─┼╞!!ê¬â╟ ê└╚!ç" [other-window 1 default-directory *wais-source-directory* write-file get-source-filename nil save-buffer -1] 3) ((quit (byte-code "└┴!ê┬ ç" [message "Abort!" wais-redisplay] 2)))] 3 "\
  115. Save this document to a file" nil])
  116. (fset 'wais-exit #[(&optional foo) "p┴ ê┬!ê)├ ê─ ê┼╟╟Y¼î╔ ê╩\\ë¬o* ╠¥¡é├ ç" [current bury-doc-buffers switch-to-buffer wais-redisplay-internal delete-other-windows 4 T$$_38 0 i bury-buffer 1 major-mode (waisq-mode waisd-mode waisk-mode)] 3 "\
  117. Leave this Question" nil])
  118. (fset 'wais-quit #[(&optional foo) "p┴ ê┬!ê)├ ê─ ê┼╟╟Y¼ì╔p!ê╩\\ë¬n*╦ !½à╔ !ê╬¥¡é├ ç" [current bury-doc-buffers switch-to-buffer wais-redisplay-internal delete-other-windows 4 T$$_39 0 i kill-buffer 1 get-buffer *wais-receiving-buffer* major-mode (waisq-mode waisd-mode waisk-mode)] 3 "\
  119. Kill this Question (and all it's buffers)" nil])
  120. (fset 'waisd-exit #[(&optional foo) "└┴!êp├ ê─\n!ê)┼ ê╞ ê╟╔\n╔Y¼î╦ ê\n╠\\ë\n¬o*╬¥¡é┼ ç" [other-window -1 current bury-doc-buffers switch-to-buffer wais-redisplay-internal delete-other-windows 4 T$$_40 0 i bury-buffer 1 major-mode (waisq-mode waisd-mode waisk-mode)] 3 "\
  121. Burry this Document buffer, and the Question that made it" nil])
  122. (byte-code "└┴Mê┬├Mê─┼Mç" [wais-kill-buffer #[(&rest args) "┴=¡ç┬├!¡é─ ç" [major-mode waisq-mode yes-or-no-p "Really kill this question? " wais-quit] 2 nil nil] get-resdoc #[(num file) "└è┬ !ê─ êebê┼╞!ê┼╟└╚    $ê`╩Zë bê╠uê┼╟└╚#½ë `╠Z{¬«dSbê═╧╧Y¼û``T{╤ÿ¼à╥ ê¬s╙\\ë¬e* `╠Z{)╘p!ê)    )ç" [nil result find-file file emacs-lisp-mode search-forward ":result-documents" ":document-id" t num 15 loc 13 2 T$$_41 0 i ")" backward-char 1 kill-buffer] 6] next-or-prev-doc #[(doc nextp) "p└┴!┬╞ !ê╟ êcêebê╔╩!ê╦ ê ½â═¬ü╬cêed{╧ !ê╞!ê +ç" [get-buffer-create " *wais-resdoc-tmp-buffer" nil result buf obuf switch-to-buffer erase-buffer doc search-forward ":type" kill-line nextp " \"WAIS_NEXT\"" " \"WAIS_PREV\"" kill-buffer] 3]] 2)
  123. (fset 'wais-add-reldoc #[(&optional num) "└ ┬    S 8!╔!êè╩    \" ╠!êebê═╬!ê═╧!ê cê)╨╥╙!ê)╘p!ê╒!ê)╓╫P╪\"ê┘    !,ç" [current-line doc second headlines line current-question-filename file question-name name update-keywords get-resdoc string find-file search-forward ":relevant-documents" "( " nil require-final-newline save-buffer 0 kill-buffer display-question find-wais-buffer ": Results" result goto-line] 3 "\
  124. Add the current Document to the Question" nil])
  125. (fset 'wais-delete-reldocs #[(&optional num) "└     \n╞ !ê╟ !ê╚ êebê╔╩!ê╔╦!ê╠═!ê`╧═!ê`╧╨!ê╤`Z!ê╥cê)╙╒╓!ê)╫p!ê╪     \"ê┘!+ç" [current-line current-question-filename question-name name file doc update-keywords find-file emacs-lisp-mode search-forward ":relevant-documents" "(" backward-char 1 loc forward-sexp -1 delete-char "(  )\n      " nil require-final-newline save-buffer 0 kill-buffer display-question goto-line] 3 "\
  126. Remove all 'Similar To' Documents from this Question" nil])
  127. (byte-code "└┴Mê┬├Mê─┼Mê╞╟Mê╚╔Mê╩╦Mê╠═Mê╬╧Mê╨╤Mê╥╙Mç" [get-doc-type #[(document) "└┴\n¥!ç" [second :type document] 3] get-doc-best-line #[(document) "└┴\n¥!ç" [second :best-line document] 3] type-from-number #[(question number) "└┴\nS├ !8!!ç" [get-doc-type get-document number get-resdocs question] 5] best-line-from-number #[(question number) "└┴\nS├ !8!!ç" [get-doc-best-line get-document number get-resdocs question] 5] get-filename #[(string) "└    \nGU¼û\n    H├U¼Å\n    H─U¼ê    Të)¬d    )\n└O)ç" [0 i string 32 95 G$$_14 first-space] 4] wais-find-viewer #[(type) "└    !    A└ ! ÿ¼Æ\n½Å└\n!\nAë*¬g└ ! ÿ¡â╟ !*ç" [first *x-viewers* rest e type G$$_15 G$$_16 second] 3] x-view-buffer #[(name) "└    !ë¼à├    !¬ù─\n!ë½Ä╞!╟=½ç╚╔!ê╩¬ü\n))ç" [get-buffer name buffer generate-new-buffer get-buffer-process proc process-status run message "Already viewing this file!" nil] 3] view-sentinel #[(proc msg) "└┴\n!!¼à├\n─\"çp┴\n!qêdbê╞cêq)ç" [buffer-name process-buffer proc set-process-buffer nil b "Done.\n"] 3] x-view-file #[(fname type) "└    !├─P!╟p    ╩╦\n ë$\n½╝½▒qê╬╧!ê╨╤ ê╥▒êdbê    qê╙ ╘╒%╓╫\"ê¬ì╪─P!¬å┘┌     #-ç" [wais-find-viewer type viewer x-view-buffer "*xview-" name buffer nil view-process b format "%s %s;/bin/rm %s" fname command make-variable-buffer-local wais-document 0 erase-buffer "\n" start-process "csh" "-fc" set-process-sentinel view-sentinel get-buffer message "unable to view %s, can't find viewer for type: %s"] 6] find-doc-buffer #[(docid) "└ ë@    ½ò\n½è è\nqê )ܼꠠ  Aë@¬h    ¡ü\n*ç" [buffer-list buffers buff docid wais-document] 3]] 2)
  128. (fset 'fix-wais-name #[(name) "G┬┬    Y¼Ü H─U¼ç H┼U½à ╞Iê ╟\\ë¬b*ç" [name T$$_42 0 i 9 32 95 1] 4 "\
  129. Replace TABS in NAME with Space so buffer-select works."])
  130. (byte-code "└┴Mê┬├Mç" [edit-document #[(filename document-number) "p└├─┼Åê╞\n!*ç" [t result buff e (byte-code "\n ╞╟\n\"╔Q\n ½î╠═S8!!¬é╤S╥    !8!╘!╫    \"┘    \"═█╤S╥    !8!¥!▌!âS½ú ½ƒ½ï▀αßp!\"\"êπΣ!êσ!êπµ!êéYτΦ\"êΘ ê*qêδ ê∞Θ \n\"êφ.!ê∩.!≡=¼å±≥*\"ê3½∩èebê⌠⌡▀÷#)¼πebêè⌠≈è⌠°▀÷#¡ü`)÷#)¼Æè⌠∙è⌠°▀÷#¡ü`)÷#)½î▀3·÷√ⁿ#ê² êè⌠■è⌠°▀÷#¡ü`)÷#)½ë·÷√ #ê² êφ.!ê∩.!≡=¼±≥*\"ê¬3âIèebêè⌡@⌠@!ê@GT[uê`τüA\"êe{\nσ ½êüB!¬é!êüC ▀DüE ê╤S╥    !8!F     δ êG\ncêebê½ÅüHÿ½çIJé$½φüKÿ¼σüLÿ¼▌üMüN!½╞püOüPQüR!#STüUS!êüV÷!ê▀WüXüY!ê)üZS\"ü[ êü\\T!ê*¬ÑQJτü]\"ê¬ùQJebêü^p!½åü_Σ!ê÷D+σT!ê½ï▀αßp!\"\"êπΣ!êσ!êπµ!ê)¬É·÷√ü`#ê¬åτüa!ê. ▀ç" [current-question q current-question-filename f question-name n "(:question :result-documents ( " get-resdoc document-number " ) )\n" wais-string *wais-multiple-document-buffers* fix-wais-name second headlines *wais-document-buffer* name get-document get-resdocs document find-doc-buffer buffer lines type-from-number type best-line-from-number best-line :number-of-bytes size plusp wais-split nil split-window get-buffer-window *wais-document-display-size* other-window 1 switch-to-buffer -1 message "Retrieving Document (%s characters)..." wais-find-process *wais-receiving-buffer* erase-buffer process-send-string accept-process-output *wais-process* process-status run error "WAIS process died. Look in buffer %s for clues." result search-forward "Waisq: Ready for next question." t "Connection refused" "done." "bad connection" show-dialog 4 "Looks like a bad connection." top-level "Code:" "Diagnostic Error" end-string "Received %d bytes...done." generate-new-buffer buffer-name buffer-read-only waisd-mode wais-document wais-best-line "WSRC" *wais-source-directory* default-directory "TEXT" "WCAT" getenv "DISPLAY" format "%s%s" *wais-document-directory* get-filename fname buff set-visited-file-name set-buffer-modified-p require-final-newline save-buffer 0 x-view-file wais-redisplay-internal kill-buffer "Got a %s document I can't display." rmail-p wais-rmail-show-message "Error retrieving Document" "Empty Document, nothing to retrieve."] 6) ((errors (byte-code "└    !ê┬ ê├─┼╞#ç" [switch-to-buffer buff wais-redisplay-internal show-dialog t 6 "Something wrong with retrieval."] 4)) (quit (byte-code "└    !ê┬ ê├─!ê¼à╞!ê└ç" [switch-to-buffer buff wais-redisplay-internal message "Abort Retrieval!" *debug* kill-buffer *wais-receiving-buffer*] 2))) switch-to-buffer] 3] resdoc-from-docret #[(docret) "p┴┬!─ qê╞ êcêebê╚╔╩\"êebê╦ !╠ !êqê═╬!!+ç" [b get-buffer-create "* wais-temp *" c nil q erase-buffer docret quiet-replace-string "#(" "(" read kill-buffer first get-resdocs] 3]] 2)
  131. (fset 'wais-edit-next-resdoc #[nil "└    ┬ ├#ç" [edit-next-or-previous-document current-question-filename current-line t] 4 "\
  132. Edit the document cardinally after this document" nil])
  133. (fset 'wais-edit-previous-resdoc #[nil "└    ┬ ├#ç" [edit-next-or-previous-document current-question-filename current-line nil] 4 "\
  134. Edit the document cardinally after this document" nil])
  135. (byte-code "└┴Mê┬├Mê─┼Mç" [edit-next-or-previous-document #[(filename document-number nextp) "p└├─┼Åê╞\n!*ç" [t result buff e (byte-code "\n ╞╟\n\"    \"\n╦\n╠═╬╧╨!!\"╤░╙ êqê╒ ê╓╙ \"ê╫!ê┘!┌=¼å█▄\"ê½∩èebê▐▀αß#)¼πebêè▐Γè▐παß#¡ü`)ß#)¼Æè▐Σè▐παß#¡ü`)ß#)½îασßµτ#êΦ êè▐Θè▐παß#¡ü`)ß#)½ëσßµΩ#êΦ ê╫!ê┘!┌=¼█▄\"ꬽñèebêèebê▐π!êδ∞!êφyê`S.`▐▀!ê∩uê`{+≡!1≥1!34½ê⌡÷3!!¬é78∙3!:√1!<²    \"> 3!.:½»4½½@½Åα@üAüBp!C\"êüD∞!êüE:!êüDüF!êé>═üG1\"╙ êqê╒ ê╓╙ \"ê╫!ê┘!┌=¼å█▄\"ê½⌡èebê▐▀αß#)¼Θebêè▐Γè▐üHαß#¡ü`)ß#)¼öè▐Σè▐üHαß#¡ü`)ß#)½îασßµτ#êΦ êè▐Θè▐üHαß#¡ü`)ß#)½ëσßµΩ#êΦ ê╫!ê┘!┌=¼█▄\"ê¬â6èebêèebê▐üH!ê∞uê`S.èüIüJ!êüKüL`.üMZ{\"ê)`▐▀!ê∩uê`{*üE4½êüN8!¬é8!êüO 8αPüQ ê≥1!R     ╒ ê>Scêebê<½Å<üTÿ½çUVé<½δ<üWÿ¼π<üXÿ¼█üYüZ!½┬p═ü[\\ü]8!#^_ü`^!êüaß!êαbücφ!ê)üd^<\"8üe êüf_!ê*¬º\\VüKüg<\"ê¬ù\\Vebêühp!½åüi∞!êßPüE_!ê@½Åα@üAüBp!C\"êüD∞!êüE8!êüDüF!ê)¬êσßµüj#ê. αç" [current-question q current-question-filename f question-name n next-or-prev-doc get-resdoc document-number nextp resdoc "(:question :seed-words \"foo\" :relevant-documents ( " " ) :sources ( " format "%s ) " first get-sources " )\n" wais-string wais-find-process *wais-receiving-buffer* erase-buffer process-send-string accept-process-output *wais-process* process-status run error "WAIS process died. Look in buffer %s for clues." result search-forward "Waisq: Ready for next question." nil t "Connection refused" "Found" "bad connection" show-dialog 4 "Looks like a bad connection." top-level "Code:" "Diagnostic Error" next-line 1 0 size -31 resdoc-from-docret docid get-document document *wais-multiple-document-buffers* fix-wais-name get-headline *wais-document-buffer* name find-doc-buffer buffer get-type type best-line-from-number best-line get-size wais-split split-window get-buffer-window *wais-document-display-size* other-window switch-to-buffer -1 "(:question :result-documents ( %s ) ) " "done." word-search-backward "Received" message "%s...done." 7 generate-new-buffer buffer-name buffer-read-only waisd-mode wais-document wais-best-line "WSRC" *wais-source-directory* default-directory "TEXT" "WCAT" getenv "DISPLAY" "%s%s" *wais-document-directory* get-filename fname buff set-visited-file-name set-buffer-modified-p require-final-newline save-buffer x-view-file wais-redisplay-internal kill-buffer "Got a %s document I can't display." rmail-p wais-rmail-show-message "Error retrieving Document"] 8) ((errors (byte-code "└    !ê┬ ê├─┼╞#ç" [switch-to-buffer buff wais-redisplay-internal show-dialog t 6 "Something wrong with retrieval."] 4)) (quit (byte-code "└    !ê┬ ê├─!ê¼à╞!ê└ç" [switch-to-buffer buff wais-redisplay-internal message "Abort Retrieval!" *debug* kill-buffer *wais-receiving-buffer*] 2))) switch-to-buffer] 3] waisd-best-line #[nil "└┴!¡å    ¡â┬    !ç" [boundp wais-best-line goto-line] 2 nil nil] waisq-best-line #[nil "└┴!ê┬ ê└├!ç" [other-window 1 waisd-best-line -1] 2 nil nil]] 2)
  136. (fset 'wais-add-section #[nil "`└ ├ï*ç" [mark there here ((byte-code "└ è    bê└ )ë\nV½ç\n  )┼ S\nS%*ç" [current-line there end-line start-line temp wais-add-fragment wais-document current-question-filename question-name] 7))] 2 "\
  137. Add the current region as a section to the document" nil])
  138. (byte-code "└┴Mê┬├Mê─┼Mê╞╟Mê╚╔Mç" [insert-parts #[(first second) "½è<½å┴!ê¬å┬├\"cê ½ô <½Å└ !┼=¼ê╞╟!ê┴ !ç ;½░╚cê G    ╩ ╩    Y¼£  H╠U½à═cê¬å  Hcê ╟\\ë ¬_*╚cç <½ï└ !┼=½ä╬ !ç┬╧ \"cç" [first insert-struct format "%s " second :any newline 1 "\"" T$$_43 0 i 34 "\\\"" insert-any "%s"] 4] insert-any #[(any) "└┴┬ !─ !┼ !╞ !%cê╟cê╚╔╩ !\"ê╦cç" [format "(%s %s %d %s " first any second third fourth "#( " mapcar #[(n) "└┴\n\"cç" [format "%d " n] 3] fifth "\n)\n)"] 7] insert-struct #[(struct) "└cê┴\n!½Ä┴\n!<½ê├┴\n!!ê¬è─┼┴\n!\"╞▒ê╟\n!╚\n!╔\n!\n\n½⌐╦    \"ê╠═!ê┴\n!╟\n!╬\n!ë\n+¬S╦    \"ê+╥cç" ["(" first struct insert-struct format "%s" "\n" second third cdddr rest insert-parts newline 1 cddr G$$_17 G$$_18 G$$_19 "\n)"] 5] wais-add-fragment #[(doc file name start end) "└    !ê┬ #è╟!êebê╔╩!êebê╔╦!ê╔╠!êè═!ê)╬ ê╧╤╥!ê)╙p!ê╘    !*ç" [update-keywords name make-doc-fragment doc start end reldoc find-file file search-forward ":result-documents" ":relevant-documents" "( " insert-struct indent-sexp nil require-final-newline save-buffer 0 kill-buffer display-question] 4] make-doc-fragment #[(doc start end) "└┴┬├ E┼┬├E╟»ç" [:document-id :start :fragment :line-pos start :end end :document doc] 7]] 2)
  139. (fset 'wais-delete-all-documents #[nil "p┴┬├ \"ê)─ç" [current-buffer mapcar #[(buf) "qê┴┬!¡å\n¡â├!ç" [buf boundp wais-document kill-buffer] 2] buffer-list nil] 3 "\
  140. Delete all WAIS DOC buffers" nil])
  141. (fset 'bury-doc-buffers #[nil "p┴┬├ \"ê)─ç" [current-buffer mapcar #[(buf) "qê┴┬!¡è\n¡ç├!ê─!ç" [buf boundp wais-document switch-to-buffer bury-buffer] 2] buffer-list nil] 3])
  142. (fset 'wais-scroll-msg-up #[(&optional dist) "«ä┴┬├Åç" [wais-split foo (scroll-other-window dist) ((error (message "Bottom of buffer")))] 3 "\
  143. Scroll other window forward." "P"])
  144. (fset 'wais-scroll-msg-down #[(&optional dist) "«ä┴┬├Åç" [wais-split foo (byte-code "└    ┬=½â├¬è    ¼â┬¬ä─    ![!ç" [scroll-other-window dist - nil prefix-numeric-value] 3) ((error (message "Top of buffer")))] 3 "\
  145. Scroll other window backward." "P"])
  146. (byte-code "└┴!¼é┬├─Mç" [boundp *rmail-header-regex* "*** EOOH ***" rmail-p #[(buffer) "è└    !ê┬├─Å)ç" [switch-to-buffer buffer rmail-p (re-search-forward *rmail-header-regex*) ((error))] 3]] 2)
  147. (fset 'wais-rmail-show-message #[(n) "~ê└edëbê─yêg┼U½î╞ \n\"ê╟╚└\"ê¬è╔╩\n╦#ê`\n}êebê    ¡â╠    !+ç" [nil blurb end beg 1 48 rmail-reformat-message rmail-set-attribute "unseen" search-forward "\n*** EOOH ***\n" t message] 5 "\
  148. Show message in wais." "p"])
  149. (fset 'waisq #[(&optional name) "└    !ç" [display-question name] 2 "\
  150. Edit a Wais Question" "sEdit an existing question named: "])
  151. (put 'question-menu-mode 'mode-class 'special)
  152. (fset 'question-menu-mode #[nil "└ ê┴\n!ê ┼╟╔\n╦╠!ç" [kill-all-local-variables use-local-map question-menu-mode-map *waisq-truncate-mode* truncate-lines t question-read-only question-menu-mode major-mode "Question Menu" mode-name run-hooks question-menu-mode-hook] 2 "\
  153. Major mode for editing a list of questions.
  154.    Each line describes one of the questions in Emacs.
  155.    Letters do not insert themselves; instead, they are commands.
  156.    q (or space) -- select question of line point is on.
  157.    Precisely,\\{question-menu-mode-map}"])
  158. (fset 'question-menu-select #[nil "└ ë¼ê┬├!ê─ ¬¢┼╞!ê╟╚ !ê─    !ê┬╩    \"ê╦    !ê┬╠    \")ç" [question-menu-get-path path message "No question selected" bury-buffer set-buffer-modified-p nil switch-to-buffer other-buffer question-menu-buffer-name "Fetching Question %s..." display-question "Fetching Question %s...done."] 4 "\
  159. Select question described by this line of question menu." nil])
  160. (fset 'question-menu-get-path #[nil "└ ┴U?¡¿┬yê`─ê `{┬yêG┬U¼è╞╟┬H┬H\"½ç╚╔!ê─¬ü*ç" [current-line 1 0 begin nil answer char-equal "<" message "No Question on this line"] 4 "\
  161. returns the pathname on this line"])
  162. (fset 'all-questions #[nil "└ë ┼╞╟ !\"ê)\nƒ*ç" [nil last-char answer *wais-question-directory* directory mapcar #[(file) "ëGSH┬ P!?¡á ¥?¡Ü┼ÿ«ì╞ÿ«ê    ╟=«â    ╚=?¡à Bëç" [file last-char file-directory-p directory answer "." ".." 126 35] 3] directory-files] 4 "\
  163. returns a list of the names of questions.  This should look into the 
  164.       question and pull out the name, but that is not in the question struct yet."])
  165. (fset 'wais-select-question #[nil "└ ë½¼┬ ê├─!ê┼ ê╞╚ ê╔cê╩╦    \"ê╠═!êebê╬yê╧╨╤!ê╞¬ç╥╙!¡é╘ )ç" [all-questions questions delete-other-windows switch-to-buffer "*Question List*" question-menu-mode nil buffer-read-only erase-buffer "<<Select a question with <space> or 'q'>>\n" mapcar #[(question) "cê┴cç" [question "\n"] 1] delete-char -1 1 t message "Commands: <space>, q, ? for help." yes-or-no-p "You have no questions.  would you like to create one? " wais-create-question] 4 "\
  166. Make a menu of questions so you can select one.  
  167.    Type ? after invocation to get help on commands available.
  168.    Type q immediately to make the question menu go away." nil])
  169. (defvar question-menu-mode-map nil "\
  170. ")
  171. (byte-code "└┴!¼é┬├─Mê¼å╞ ├ ê└ç" [boundp question-menu-buffer-name "*Question List*" setup-question-mode-map #[nil "└    ┬\"ê├    ─┼#ê├    ╞┼#ê├    ╟┼#ê├    ╚╔#ê├    ╩╦#ê├    ╠═#ç" [suppress-keymap question-menu-mode-map t define-key "q" question-menu-select "s" " " "n" next-line "p" previous-line "?" describe-mode] 4] question-menu-mode-map make-keymap] 2)
  172. (fset 'wais-novice #[nil "└ ç" [make-wais-novice-question] 1 "\
  173. Create and run the 'Quick' novice question, and pop up
  174. the novice Help" nil])
  175. (byte-code "└┴Mê┬├!¼é─└ç" [make-wais-novice-question #[nil "└┴┬├#ê─ ê┼ ç" [wais-create-question "Quick" "?" "directory-of-servers.src" wais-query show-novice-wais-help] 4] boundp *wais-novice-string* "First, I've created a 'Quick' question for you, and hopefully it ran.  You\nnow see a typical WAIS display.  Let me first tell you that you can scroll\nthis window by pressing the space bar and the Delete key, in case you can't\nsee it all.\n\nThere are five parts to this display:\n1. the Search words\n2. the Sources to search\n3. some documents that might be similar to your intended document\n4. the Resulting documents from the search\n5. a document, in this case, this message.\n\nYou can now use this Question to ask further questions, or you might wish\nto create some questions of your own (they don't all have to be the 'Quick'\nquestion).\n\nThe most useful keystrokes for using WAISQ mode are (case is important!):\n\n<space>:  scroll the text in the other window up\n  <del>:  scroll the text in the other window down\n      k:  switches you to the search word window\n  e,f,v:  view the current result document in a window like this one.\n      a:  add the current document to the relevant documents list\n      d:  delete all the relevant documents\n      A:  capital A adds a new source\n      D:  captial D deletes all the sources.\n  g,RET:  perform the query.\n    C-l:  rebuild the display, removing the document view window.\n      s:  select a new Question\n      q:  quit out of this question, and bury it.\n      Q:  capital Q quits out of this question, and kill all its buffers.\n      ?:  describe waisq-mode shows all new keystrokes associated with\n          WAISQ mode.\n\nYou really shouldn't have to use C-x o to switch to other windows, but if\nyou do, you should go back to the result-documents window and press C-l to\nrebuild the display."] 2)
  176. (fset 'show-novice-wais-help #[nil "└ ê    ½ë┬├─p!\"ê╞╟!ê╚╔╩!!ê╦ ê cêebê╞═!ç" [wais-redisplay-internal wais-split nil split-window get-buffer-window *wais-document-display-size* other-window 1 switch-to-buffer get-buffer-create "*WAIS Novice Help*" erase-buffer *wais-novice-string* -1] 3 "\
  177. Show something useful for a new user of WAIS" nil])
  178. (fset 'wais-create-question #[(&optional name keywords source) "└ \n¼ä├─!¼é╞¼ä╚ ╔\n\nP! ╠ #ê═\n!ê╬ ê)    ¡â╧╨!)ç" [check-init-directories new name read-input "Create a new question named: " keywords "" source get-source-name expand-file-name *wais-question-directory* file create-question-internal display-question wais-goto-keywords message "For more information, try M-x wais-novice"] 4 "\
  179. Create a new Question named NAME" nil])
  180. (fset 'create-question-internal #[(file keywords source) "└    !ê┬ ê├ ┼╟▒ê╚    ╩╦!ê)╠p!ç" [find-file file erase-buffer "(:question \n       :version  2 \n       :seed-words \"" keywords "\"\n       :sources \n       (  (:source-id \n       :filename \"" source "\"\n       ) \n     )\n       )\n" nil require-final-newline save-buffer 0 kill-buffer] 5])
  181. (fset 'find-documents-on #[nil "└┴!ç" [message "Obsolete.  Use M-x wais or M-x wais-create-question"] 2 "\
  182. Obsolete.  Use M-x wais or M-x wais-create-question" nil])
  183. (fset 'delete-string #[nil "└┴!ê`S└┴!ê├\n`Z!)ç" [search-forward "\"" here delete-char] 3])
  184. (fset 'wais-goto-keywords #[nil "└ ê┴┬!ç" [wais-redisplay-internal other-window -3] 2 "\
  185. Go to the keyword window for this question" nil])
  186. (fset 'wais-replace-keywords #[(&optional keys) "G┴V½ä┬├!ç ╚!êebê╔╩!ê╦ ê╠═▒ê╬╨╤!ê)╥p!*ç" [keys 4999 error "Keys longer than 5000 characters.  I Can't handle that." current-question-filename question-name name file find-file search-forward ":seed-words" delete-string " \"" "\"" nil require-final-newline save-buffer 0 kill-buffer] 3 "\
  187. Replace the 'Find documents on' words in the current Question" "sFind documents on: "])
  188. (fset 'wais-delete-sources #[nil "└     \n╞ !ê╟ !ê╚ êebê╔╩!ê╔╦!ê╠═!ê`╧═!ê`╧╨!ê╤`Z!ê╥cê╙╒╓!ê)╫p!ê╪     \"êSy,ç" [current-line current-question-filename question-name name file doc update-keywords find-file emacs-lisp-mode search-forward ":sources" "(" backward-char 1 loc forward-sexp -1 delete-char "(  )" nil require-final-newline save-buffer 0 kill-buffer display-question] 3 "\
  189. Delete all sources from this question" nil])
  190. (fset 'wais-add-source #[(&optional source) "¼â┴ ┬  ╚!ê╔!êebê╩╦!ê╩╠!ê═╬▒ê╧╤╥!ê)╙p!ê╘ \"êSy+ç" [source get-source-name current-line current-question-filename question-name name file doc update-keywords find-file search-forward ":sources" "(" "  (:source-id :filename \"" "\" ) \n" nil require-final-newline save-buffer 0 kill-buffer display-question] 3 "\
  191. Add a Source to the current Question" nil])
  192. (defvar *wais-selected-sources* nil "\
  193. A list of selected sources for a default question")
  194. (put 'source-menu-mode 'mode-class 'special)
  195. (fset 'source-menu-mode #[nil "└ ê┴\n!ê ┼╟╔\n╦╠!ç" [kill-all-local-variables use-local-map source-menu-mode-map *waisq-truncate-mode* truncate-lines t source-read-only source-menu-mode major-mode "Source Menu" mode-name run-hooks source-menu-mode-hook] 2 "\
  196. Major mode for editing a list of sources.
  197. Each line describes one of the sources in Emacs.
  198. Letters do not insert themselves; instead, there are commands.
  199. q, s, v, or space -- view the source of line point is on.
  200. Precisely,\\{source-menu-mode-map}"])
  201. (fset 'source-menu-view #[nil "└ ë¼å┬├!ê¬₧─    P!½ê╞    P!ê¬Å─    P!½ç╞    P!ê)╚ ê    ╩=¡é╦ ç" [source-menu-get-path path message "No source selected" file-exists-p *wais-source-directory* view-file *common-source-directory* bury-buffer major-mode waisq-mode wais-redisplay-internal] 4 "\
  202. View source described by this line of source menu." nil])
  203. (fset 'source-menu-get-path #[nil "└ ┴U?¡¿┬yê`─ê `{┬yêG┬U¼è╞╟┬H┬H\"½ç╚╔!ê─¬ü*ç" [current-line 1 0 begin nil answer char-equal "<" message "No Source on this line"] 4 "\
  204. returns the pathname on this line"])
  205. (fset 'all-sources #[nil "└ë ;½î─ !½ç┼╞╟ !\"ê½Ö;½ö =¼Ä╔!½ê┼╩╟!\"ê\n?«ä╦\n╠\"*ç" [nil last-char answer *wais-source-directory* file-directory-p mapcar #[(file) "ëGSHG┬V¡æ├─O┼ÿ¡ëëBBëç" [file last-char 3 -4 nil ".src" answer] 3] directory-files *common-source-directory* file-exists-p #[(file) "G┴V¡Å┬├O─ÿ¡çëBBëç" [file 3 -4 nil ".src" answer] 3] sort (lambda (a b) (string< (car a) (car b)))] 4 "\
  206. returns a list of the names of sources.  This should look into the 
  207.    source and pull out the name, but that is not in the source struct yet."])
  208. (fset 'wais-view-source #[nil "└ ë½¼┬ ê├─!ê┼ ê╞╚ ê╔cê╩╦    \"ê╠═!êebê╬yê╧╨╤!ê╞¬â╨╥!)ç" [all-sources sources delete-other-windows switch-to-buffer "*Source List*" source-menu-mode nil buffer-read-only erase-buffer "<<Select a source with <space> or 'q', view with 'v'>>\n" mapcar #[(source) "@cê┴cç" [source "\n"] 1] delete-char -1 1 t message "Commands: <space>, q, v or ? for help." "No sources.  Something is wrong - see your site administrator"] 4 "\
  209. Make a menu of sources so you can select one to view.  
  210. Type ? after invocation to get help on commands available.
  211. Type q immediately to make the source menu go away." nil])
  212. (defvar source-menu-mode-map nil "\
  213. ")
  214. (byte-code "└┴!¼é┬├─Mê¼å╞ ├ ê╟╚Mê╔╩Mê└╦!¼â╠ ═╬Mê╧╨!ç" [boundp source-menu-buffer-name "*Source List*" setup-source-mode-map #[nil "└    ┬\"ê├    ─┼#ê├    ╞┼#ê├    ╟┼#ê├    ╚╔#ê├    ╩╦#ê├    ╠┼#ê├    ═╬#ç" [suppress-keymap source-menu-mode-map t define-key "q" source-menu-view "s" " " "n" next-line "p" previous-line "v" "?" describe-mode] 4] source-menu-mode-map make-keymap get-source-name #[nil "└┴ ─ï*ç" ["" all-sources sources result ((byte-code "└ ê    ½Æ\n├ÿ½ï─┼    ╞╟╞%ë¬q\nç╚╔!ç" [delete-other-windows sources result "" completing-read "Select Source (press ? for a list of sources): " nil t message "No sources.  Something is wrong - see your site administrator"] 7))] 2] source-defined-p #[(source) "└    ┬ \"ç" [assoc source all-sources] 3] index-types (("groliers" . "groliers") ("mail" . "mail") ("rmail" . "rmail") ("netnews" . "netnews") ("catalog" . "catalog") ("bio" . "bio") ("cmapp" . "cmapp") ("text" . "text") ("para" . "para")) basename #[(path) "GS┬    !¼Å    H├=¼ê    Së)¬l    T┼O)ç" [path loc minusp 47 G$$_20 nil] 4] require compile] 2)
  215. (fset 'wais-index #[(command) "└    \nP├─#ç" [compile1 waisindex-program command "Done" "waisindex"] 4 "\
  216. Run waisindex-program, with user-specified args, and collect output in a buffer." "sIndex (with args): "])
  217. (fset 'wais-create-source #[(source) "└ë├─!½±┼╞!╚╔\n└╦└% ├═!ë½ä¬éP ╙ÿ½â╘ ╒ë╪=½â┘¬è┌=½â█¬ü█)▄ ▌ë╪=½â╙¬æ┌=½è½â▀¬ä╙¬ü╙)α!░!,¬⌠┼ß!Γπ!ë╙ÿ¼äΓΣ!σµ#êτëΦ└OΘÿ½â╙¬üΘΩR!êδ ê∞\n½ï\n╙ÿ¼åφ\nεQ¬ü╙    ½ï    ╙ÿ¼å∩    ≡Q¬ü╙±α!≥▒ê≤╦!ê⌠cê└5÷≈!ê)°p!êσ∙#*ç" [nil port server-name-or-address yes-or-no-p "Shall I create the index? " read-file-name "File(s) to index (unix wildcards allowed): " db completing-read "Type (press ? for a list of types, default is Text): " index-types t type "Export this Source? " exportp *common-source-directory* *wais-source-directory* source index "" "text" wais-index wais-version T$$_44 7 " -i " 8 " -d " " -t " " " T$$_45 " -export " expand-file-name "Index for this sources (path prefix, without . suffix): " read-input "On Server: " "Using port: " message "Creating source %s, for index %s..." find-file -1 "/" ".src" erase-buffer "(:source\n   :version  3\n   " ":ip-name \"" "\"\n   " ":tcp-port " "\n   " ":database-name \"" "\"\n   :cost 0.00\n   :cost-unit :free\n   :description \"Source structure created by GMACS Wais interface, " insert-date "\"\n   )" require-final-newline save-buffer 0 kill-buffer "Creating source %s, for index %s...done."] 10 "\
  218. Create a new Source and a database to go with it" "sName for this Source: "])
  219. (fset 'wais #[nil "└┴!ë½ç\nqê├ ¬╡─ ë@╟½á¼£qê╔╩!½è\n½å├ ê╦Aë@¬]«â╠═!+)ç" [get-buffer "Quick: Results" quick-buffer wais-redisplay-internal buffer-list buffers buffer nil done boundp current-question-filename t wais-create-question "Quick"] 3 "\
  220. Find a wais question and go to it.
  221. First tries to find the question named Quick, then any wais question,
  222. finally it creates a Quick question, prompting for search words and source.
  223. If this is the first time a user tries to use wais, it will create a new
  224. question name Quick, using the directory-of-servers as a source, and submit
  225. a '?' for the query." nil])
  226. (fset 'wais-create-directory #[(directory) "┴┬O├ÿ½à─┴O┼╞P!ê╟!?¡ä╚╔\"ç" [directory -1 nil "/" 0 shell-command-fast "/bin/mkdir " file-attributes error "Could not create directory %s"] 3 "\
  227. create a directory"])
  228. (fset 'check-init-directories #[nil "└┬ !¼ì─┼ \"ê╞╟ !!ê╚┬    !¼Å─┼    \"ê╞╟    !!ê╚┬\n!¼Å─┼\n\"ê╞╟\n!!ê╚    )ç" [nil result file-attributes *wais-question-directory* message "Creating %s" wais-create-directory expand-file-name t *wais-source-directory* *wais-document-directory*] 3])
  229.